% Demostration of global variables


global x1 x2 x3 x4 x5 x6 x7 x8
% 这里完成了全局变量的声明
% 告诉 Matlab 这些变量是所有函数共用的，函数结束后不清除

x1 = 1;
x2 = 1;
x3 = 1;
x4 = 1;
x5 = 1;
x6 = 1;
x7 = 1;
x8 = 1;

x1 = doubleX12(x1, x2); 
% 常规函数，不使用全局变量
% 通过参数和返回值传递变量
% 此时不作为返回值的全局变量不会被改变
display(x1)
display(x2)


doubleX3(x3);
% 无返回值 有参数 不使用全局变量 的函数
% 函数结果无法向外传递
% 此时函数内部对参数的操作不改变全局变量的值
display(x3)

doubleX4();
% 无返回值 无参数 使用全局变量 的函数
% 使用全局变量前需要使用 global x4 语句提前声明变量类型
% 函数内对全局变量的操作会改变其值
display(x4)

x5 = doubleX567();
% 可以使用全局变量 无参数 有返回值 输出结果
% 此时可以改变或不改变全局变量，取决于函数内部行为
display(x5)
display(x6)
display(x7)


% doubleX8();
% 不声明 global 无法使用全局变量 
% 会报错




